import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


public class CeldaPasillo extends Celda {
	
	private List elementos;
	private boolean atravesable;
	
	public CeldaPasillo(Punto pos){
		
		super(pos);
		elementos = new ArrayList();
		atravesable = true;
	}
	
	private void encuentroFantasmaPacman(Laberinto laberinto){
		
		List listaFantasmas = laberinto.getListaFantasmas();
		for (int i = 0; i < listaFantasmas.size(); i++) {
			
			Fantasma fantasma = (Fantasma)listaFantasmas.get(i);
			if(fantasma.getPosicion().equals(laberinto.getPosicionPacman())){
				
				fantasma.reaccion(laberinto);
			}
			
		}
	}
	
	public void interactuar(Laberinto laberinto){
		
		laberinto.setPosicionPacMan(this.getPosicion());
		
		Elemento unElemento;
		
		for (Iterator iterator = elementos.iterator(); iterator.hasNext();) {

			unElemento = (Elemento) iterator.next();
			
			unElemento.reaccion(laberinto);
		}
		
		encuentroFantasmaPacman(laberinto);
	}
	
	public void agregarElemento(Elemento e){
		
		elementos.add(e);
	}
	
	public void sacarElemento(int pos){
		
		elementos.remove(pos);
	}
	
	public boolean esAtravesable(){
		return atravesable;
	}
}
